package main

import "fmt"

func countSubarrays(nums []int) int {
	count := 0
	length := len(nums)
	if length < 3 {
		return count
	}
	for i := 0; i < length-2; i++ {
		if (nums[i]+nums[i+2])*2 == nums[i+1] {
			count++
		}
	}
	return count
}

// 基本思路: 第一个和第三个数字之和等于第二个数字的一半，那就是第一个数和第三个数之和的 2 倍等于第二个数字，这样子就可以少一个判断。否则遇到1/2 会出现等于 0 的情况
func main() {
	nums := []int{-1, -4, -1, 4}
	count := countSubarrays(nums)
	fmt.Println(count)
}
